package com.student.liu.service;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.student.liu.entity.Goods;

import java.util.Map;

/**
 * 商品 Service
 */
public interface IGoodsService extends IService<Goods> {

    /**
     * 搜索
     * @param searchStr 搜索关键词
     * @return 搜索结果
     */
    JSONArray search(String searchStr);

    /**
     * 分页获取商品数据
     * @param pageIndex 当前页码
     * @param pageSize  页大小
     * @param typeId    类型ID，默认为0，当为0时则不对类型进行筛选
     * @param state     商品状态，1：上架 0：下架，null表示不对state进行筛选
     * @return
     */
    IPage<Map<String, Object>> goodsPage(Integer pageIndex, Integer pageSize, Integer typeId, Integer state);

    IPage<Map<String, Object>> cookbook(Integer pageIndex, Integer pageSize, Integer typeId, Integer state,String name);
    /**
     * 根据ID获取商品数据
     * @param id
     * @return
     */
    Goods goodsGetById(Integer id);

    /**
     * 上架
     * @param id
     */
    void putOn(Integer id);

    /**
     * 下架
     * @param id
     */
    void putDown(Integer id);

    /**
     * 创建商品
     * @param goods
     */
    void createGoods(Goods goods);

}
